#pragma once
#include <string>
#include <memory>
using std::unique_ptr;
using std::wstring;

class FxLoader
{
public:
	FxLoader(void);
	~FxLoader(void);

	static FxLoader& instance();

	void call(
		const wstring& pwzAssemblyPath, 
		const wstring& pwzTypeName, 
		const wstring& pwzMethodName,
		const wstring& pwzArgument);

private:
	void startup();
	void shutdown();


	static unique_ptr<FxLoader> s_instance;
	void* m_clr; // pointer to CLR host
};

